/**
 * 
 */
package simbolo;

import java.util.TreeSet;

/**
 * @author tinia
 * Símbolo al que sólo se le permite letras mayúsculas.
 */
public class NoTerminal extends Simbolo {
	private TreeSet<Simbolo> _comienzos = new TreeSet<Simbolo>();
	private TreeSet<Simbolo> _finales = new TreeSet<Simbolo>();
	
	public NoTerminal(Character c) {
		assert ('A' <= c && c <= 'Z' );
		_caracter = c;
	}
	
	public NoTerminal(String s) {
		// Sólo importa el primer caracter.
		Character c = s.charAt(0);
		assert ('A' <= c && c <= 'Z' );
		_caracter = c;
	}

	public NoTerminal copy() {
		return new NoTerminal(_caracter);
	}
	
	public void agregarComienzo(Simbolo s) {
		_comienzos.add(s);
	}

	public TreeSet<Simbolo> getComienzos() {
		return _comienzos;
	}

	public void agregarFinal(Simbolo s) {
		_finales.add(s);
	}

	public TreeSet<Simbolo> getFinales() {
		return _finales;
	}
	
}

